"""
此模块实现了根据键盘输入触发鼠标左键点击的功能。
按下数字 1 键，鼠标左键连点 5 下；按下数字 2 键，鼠标左键连点 10 下。
"""
from pynput import keyboard, mouse
import time

# 创建鼠标控制器实例
mouse_controller = mouse.Controller()

def on_press(key):
    """
    处理键盘按键按下事件的函数。
    当按下数字 1 键时，鼠标左键连点 5 下；按下数字 2 键时，鼠标左键连点 10 下。

    :param key: 按下的按键对象
    """
    try:
        if key.char == '1':
            click_count = 5
        elif key.char == '2':
            click_count = 10
        else:
            return

        # 执行鼠标左键点击操作
        for _ in range(click_count):
            mouse_controller.click(mouse.Button.left)
            time.sleep(0.1)  # 每次点击间隔 0.1 秒
    except AttributeError:
        pass

def on_release(key):
    """
    处理键盘按键释放事件的函数。
    当按下 Esc 键时，停止监听键盘事件。

    :param key: 释放的按键对象
    :return: 若按下 Esc 键返回 False，否则返回 True
    """
    if key == keyboard.Key.esc:
        # 停止监听
        return False

# 监听键盘事件
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
    listener.join()
